package com.a.basis;
//函数之间的调用时值在中间的变化（注意地址的变化）
import java.util.Arrays;

public class TestAddress {
    public static void main(String[] args) {

        int n=10;
        m1(n);
        System.out.println(n);//=10

        System.out.println(m2(n));//=10

        int[] array={11,22,33};
        m3(array);
        System.out.println(array[0]);//=11

        int[] form={11,22,34};
        m4(form);
        System.out.println(form[0]);//=88
    }
    public static void m1(int n){
        n++;
    }
    public static int m2(int n){
        return n++;     //注意区分n++和++n的区别
    }
    public static void m3(int[] nums){
        nums= Arrays.copyOf(nums,nums.length*2);//数组的创建加复制，新数组，新地址（这个函数的重点，地址发生改变）
        nums[0]=88;//新数组的更改
    }
    public static void m4(int[] to){
        to[0]=88;
    }
}
